package com.ruoyi.yljf.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.yljf.domain.Course;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 课程对象 yljf_course
 *
 * @author TC
 * @date 2025-02-19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CourseDetailVO {

    /** 课程id */
    private Long id;

    /** 课程名称 */
    private String name;

    /** 课程图片 */
    private String img;

    /** audio-音频/video-视频 */
    private String type;

    /** 笔记类型 */
    private String noticeType;

    /** 课程总时长 */
    private String timeCount;

    /** 课程是否免费(Y | N) */
    private String chargeFree;

    /** 课程价格 */
    private BigDecimal price;

    /** 播放量 */
    private Long playCount;

    /** 简介 */
    private String info;

    /** 创建人姓名 */
    private String userName;

    /** 创建人姓名 */
    private String userImg;

    /** 总章节数 */
    private String sectionCount;

    /** 是否收藏 */
    private boolean ifCollect;

    /** 是否购买 */
    private boolean ifBuy;

    /** 重放时间 */
    private String  playbackTime;

    /** 重放路径 */
    private String  playbackUrl;

    /** 课程创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 重放章节 */
    private Long  playbackPackageId;

    private List<PackageVO> list;



    public CourseDetailVO(Course course) {
        BeanUtils.copyProperties(course, this);
        this.ifCollect = false;     // 默认配置为false
        this.ifBuy = false;         // 默认配置为false
        this.playbackTime = "0";        // 查询该章节最后播放的章节的时间。默认配置为0;
        this.playbackUrl = "";        // 查询该章节最后播放的路径。默认配置为空;
        this.playbackPackageId = null;        // 查询该章节最后播放的章节id。默认配置为1;
    }



}
